/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package ru.jSkyRoom.interfaces.major;

import java.util.Collection;
import ru.jSkyRoom.interfaces.additional.HasEnchantment;
import ru.jSkyRoom.interfaces.additional.HasEquipSlot;
import ru.jSkyRoom.interfaces.additional.HasBodyTemplate;
import ru.jSkyRoom.interfaces.additional.HasPickupAndDropSound;
import ru.jSkyRoom.interfaces.additional.HasRace;
import ru.jSkyRoom.interfaces.additional.HasValue;
import ru.jSkyRoom.interfaces.additional.HasWeight;
import ru.jSkyRoom.interfaces.additional.HasKeywords;
import ru.jSkyRoom.interfaces.additional.HasScript;
import ru.jSkyRoom.interfaces.additional.HasTemplate;
import ru.jSkyRoom.interfaces.stub.ImpactSet;
import ru.jSkyRoom.interfaces.sub.JSkyModel;
import skyproc.genenums.Gender;

/**
 *
 * @author Rakev
 */
public interface Armor extends DescriptionedMajor, HasEnchantment, HasTemplate<Armor>, HasKeywords, HasScript, HasWeight, HasEquipSlot, HasBodyTemplate, HasRace, HasValue, HasPickupAndDropSound {

    public JSkyModel getModel(Gender gender);

    public Collection<Armature> getArmatures();

    public void addArmature(Armature armature);

    public void removeArmature(Armature armature);

    public float getArmorRating();

    public void setArmorRating(float rating);

    public ImpactSet getBlockImpactSet();

    public void setBlockImpactSet(ImpactSet bashImpactData);

}
